package com.ztorn.fiscale.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ztorn.common.core.annotation.Excel;
import com.ztorn.common.core.web.domain.BaseEntity;

/**
 * 配单异常记录对象 fiscale_refund_exception
 * 
 * @author ztorn
 * @date 2025-09-20
 */
public class FiscaleRefundException extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 异常ID */
    private Long exceptionId;

    /** 单据类型（declaration-报关单，invoice-发票） */
    @Excel(name = "单据类型", readConverterExp = "declaration=报关单,invoice=发票")
    private String documentType;

    /** 单据ID */
    @Excel(name = "单据ID")
    private Long documentId;

    /** 异常原因 */
    @Excel(name = "异常原因")
    private String exceptionReason;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 状态（pending-待处理，resolved-已解决） */
    @Excel(name = "状态", readConverterExp = "pending=待处理,resolved=已解决")
    private String status;

    // 关联对象
    /** 报关单信息 */
    private FiscaleCustomsDeclaration declaration;
    
    /** 发票信息 */
    private FiscaleTaxInvoice invoice;

    public void setExceptionId(Long exceptionId) 
    {
        this.exceptionId = exceptionId;
    }

    public Long getExceptionId() 
    {
        return exceptionId;
    }
    public void setDocumentType(String documentType) 
    {
        this.documentType = documentType;
    }

    public String getDocumentType() 
    {
        return documentType;
    }
    public void setDocumentId(Long documentId) 
    {
        this.documentId = documentId;
    }

    public Long getDocumentId() 
    {
        return documentId;
    }
    public void setExceptionReason(String exceptionReason) 
    {
        this.exceptionReason = exceptionReason;
    }

    public String getExceptionReason() 
    {
        return exceptionReason;
    }
    public void setRemark(String remark) 
    {
        this.remark = remark;
    }

    public String getRemark() 
    {
        return remark;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public FiscaleCustomsDeclaration getDeclaration() {
        return declaration;
    }

    public void setDeclaration(FiscaleCustomsDeclaration declaration) {
        this.declaration = declaration;
    }

    public FiscaleTaxInvoice getInvoice() {
        return invoice;
    }

    public void setInvoice(FiscaleTaxInvoice invoice) {
        this.invoice = invoice;
    }
}